package jdiy.sample.interceptor;

import net.jdiy.core.ActionEntity;
import net.jdiy.core.App;
import net.jdiy.core.JDiyAction;
import net.jdiy.core.JDiyInterceptor;

//这是一个拦截器，用于相关页面的会员登录验证（即登录后才可以访问的页面，未登录的话将forward到登录页Action）
public class CheckVipLogin implements JDiyInterceptor {
    App app = App.get();

    @Override
    public void intercept(ActionEntity ae) throws Exception {
        String vipId = app.var("vipId");
        if ("".equals(vipId)) { //验证如果会员没有登录，就forward到指定Action


            //大家注意到下面这句没有，这儿可以直接使用JDiyAction中的forwardAction方法。
            // 实际上JDiyAction里面的大多数方法都被声明为静态(static)的，
            // 也就是说您自己写的Action类并不一定要继承自JDiyAction.也可以直接使用JDiyAction类中的静态方法。
            JDiyAction.forwardAction("login_and_reg.jd");

            return;//终止后续Action执行请求.
        }

        ae.invoke(); //一定要加这这句，继续处理其它拦截器或Action链，否则不会进到Action中去。

    }
}
